package groep1.filter;

import groep1.ObjectRepresentation;

import java.util.HashMap;
import java.util.HashSet;
import java.util.List;

import bluej.debugmgr.inspector.FieldInfo;

public abstract class LogicalFilter extends FilterHierarchyObject {
	
	protected FilterHierarchyObject side1;
	protected FilterHierarchyObject side2;
	
	public LogicalFilter(String regex1, HashSet<ObjectRepresentation> objects) {
		side1 = parseRegex(regex1, objects);
	}
	
	public LogicalFilter(String regex1, String regex2, HashSet<ObjectRepresentation> objects){
		side1 = parseRegex(regex1, objects);
		side2 = parseRegex(regex2, objects);
	}
	
	public abstract HashMap<String, List<FieldInfo>> join();
	
	public FilterHierarchyObject getSide1(){
		return side1;
	}
	
	public FilterHierarchyObject getSide2(){
		return side2;
	}

}
